草庐IT

c++ - Netbeans 和 MinGW-w64

全部标签

c++ - MinGW 生成 exe,当在不同系统上运行时生成 "not compatible with the version of Windows"

计算机A运行Windows7x64。计算机B运行Windows7x86。我正在使用Eclipse、Ant和MinGW-w64在计算机A上编译该文件。该文件在计算机A上运行良好,但在计算机B上出现以下错误:TheversionofthisfileisnotcompatiblewiththeversionofWindowsyou'rerunning.Checkyourcomputer'ssysteminformationtoseewhetheryouneedanx86(32-bit)orx64(64-bit)versionoftheprogram,andthencontactthesoft

windows - Cygwin 64 位 C 编译器缓存有趣(并且提前结束)

我们一直在使用CygWin(/usr/bin/x86_64-w64-mingw32-gcc)来生成Windows64位可执行文件,昨天它一直运行良好。今天它以一种奇怪的方式停止工作——它“缓存”标准输出直到程序结束。我写了一个六行的例子那做了同样的事情。由于我们批量使用代码,所以我不会担心,除非我在现在奇怪地缓存的可执行文件上运行测试用例,它会打开输出文件,提前结束,并且不会用数据填充它们。(相同的代码在Linux上运行良好,但这些人使用的是Windows。)我知道这不是华丽的代码,但它证明了我的问题,仅在之后打印数字“12345678910”我按下了键。#includemain(){

linux - OMP 与 x86_64-w64-mingw32-g++ 交叉编译

我在交叉编译利用openMP库的C++程序时遇到了一些问题。我正在使用LinuxUbuntu12.04LTS。我想获取可在Windows上运行的可执行文件。使用常规g++命令使用OMP编译我的程序没有问题:g++a.cppb.cpp-oOMPres-pg-O3-I./CBLAS/include-L./-lcblas另外,当我在没有OMP的情况下尝试交叉编译时,一切都运行良好:x86_64-w64-mingw32-g++a.cppb.cpp-O3-I./CBLAS/include./CBLAS/cblas_WIN64.a./BLAS/blas_WIN64.a-ores.exe-lgfor

使用 Windows API 比较线程 ID

我正在使用WindowsAPI线程,我想比较线程ID。首先,我用CreateThread()创建了一个线程并存储我从函数中获取的句柄(HANDLE)和ID(LPDWORD)。然后我使用GetCurrentThread()从创建的线程中获取句柄和ID和GetThreadId().对于两个句柄和两个ID,我总是得到不同的值。有没有办法以类似于pthread的方式比较线程?我这样做是为了作为确认正确执行的调试选项。我总是从其他库(pthread.h、threads.h)但不是从Windowsapi得到正确的结果。这不是一个关键问题,但我想学习winapi中的程序

python - 在 Windows 64 位上安装 cx_Oracle 时命令 'gcc' 失败,退出状态为 1

我正在尝试在我的Windows7-64位版本上安装cx_Oracle。我之前有一个问题here关于在Windows上安装cx_Oracle我自己解决了这个问题;但它是Windows7的32位版本;在这里我遇到了一个安装它的新问题。我应该提到我部署了64位版本的MinGW以及MicrosoftVisualStudio2008。对于这两个,我都得到了command'gcc'failedwithexitstatus1。我在MicrosoftVisualStudio2008控制台中尝试了easy_installcx_Oracle并得到了这个输出(这是我从Windows默认命令行运行命令时得到的

无法建立服务器客户端连接 - C winsock 中的错误 10061

我正在尝试在我家中本地网络中的2台计算机上运行服务器客户端。第一台电脑是服务器,第二台是客户端。尝试连接服务器时出现错误10061。(“错误-连接失败。sockfd是164,errno是34,WSA是10061”)。错误10061表示-“连接被拒绝。无法建立连接,因为目标机器主动拒绝它。这通常是由于尝试连接到外部主机上不活动的服务——即没有运行服务器应用程序的服务。”我认为这可能是防火墙问题,所以我在我的防火墙中批准了我正在使用的端口,但它仍然不起作用。此外,两台计算机具有相同的IP(这是为什么?)。这是我的代码:服务器.c:#include#include#include#inclu

c++ - 从源代码构建的 Clang 编译 C 但不编译 C++ 代码

我最近在Windows上编译了clang(主机:x86_64-pc-windows64;编译器:i686-pc-mingw32;目标:i686-pc-mingw32)。可以找到CMakeCache(用于配置):here我的问题是,虽然clang工作正常(对于C),但clang++(对于C++)将“成功”编译和链接,但生成的程序本身不会运行并将退出并返回错误代码1。下面是示例(哦-我的-zsh):➜bincattest.c#includeintmain(){printf("HelloWorld!\n");return0;}➜bincattest.cpp#includeintmain(){

c - 获取内核对象窗口列表

嗨!我打赌一个多星期了,我无法形成一个完整的图来说明如何获得内核对象列表。我的算法如下:1)连接NTDLL.dll(LoadLibrary)2)GetProcAddress(variable_Library_name,"NtQueryDirectoryObject")和预告结构:_OBJDIR_INFORMATION,_OBJECT_ATTRIBUTES3)尝试为列表应用NtOpenDirectoryObject函数对象下面是一段代码,负责函数NtOpenDirectoryObject的使用:OBJDIR_INFORMATION*ssinfo=(OBJDIR_INFORMATION*)

c - 套接字文件系统与普通磁盘文件系统

创建套接字后,它会立即创建一个假文件,用于通过网络读取/写入数据,但这个"file"到底是什么?一个普通的磁盘文件将位于磁盘中,任何东西都会被写入那里,但是套接字文件写入到哪里,也许是内存中的字节流? 最佳答案 套接字不会创建“假文件”。它创建一个文件描述符,它是流的系统抽象(好吧,你标记了windows和linux,实现非常依赖于系统)。文件、套接字、管道是经典的Unix流示例。对于套接字流,字节最终将物理写入硬件(内存和/或网卡),对于文件流,字节将物理写入物理驱动器。 关于c-套接

c - Winsock UDP 套接字接收缓冲区利用率

我已经建立了一个UDP套接字:receiveSocket=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);然后我修改套接字参数以使用大于默认缓冲区(例如100,000字节):bufferSize=100000;bufferSizeLen=sizeof(bufferSize);setsockopt(receiveSocket,SOL_SOCKET,SO_RCVBUF,(char*)&bufferSize,bufferSizeLen);稍后,我想查询套接字以了解缓冲区中当前存储了多少数据(即有多少数据报等待通过调用recv()检索).有办法吗?